package com.hundsun.cprs.yyt.service.system.service;

import com.hundsun.cprs.yyt.service.system.domain.TradeDay;
import com.hundsun.cprs.yyt.service.system.domain.query.TradeDayQuery;

import java.util.Date;
import java.util.List;

public interface TradeDayService {
    /**
     * 新增交易日
     *
     * @param list 所有新增的交易日列表
     */
    public void addTradeDay(List<Date> list, int nowYear);

    /**
     * 根据条件查询交易日
     *
     * @param tradeDay 查询条件
     * @return 符合条件的交易日列表
     */
    public List<TradeDay> getTradeDay(TradeDay tradeDay);

    /**
     * 从起始日期开始的该年所有工作日添加为交易日
     *
     * @param startDate
     */
    public void addWorkDay(Date startDate);

    /**
     * 分页查询
     * @param query
     *
     * */
    void queryByPage(TradeDayQuery query);

    /**
     * 判断某个时间是否为清算日
     * @param date
     *
     * */
    Boolean isClearingDate(Date date);

    /**
     * 获取当前时间的下一清算日
     * @param date
     *
     * */
    TradeDay getNextClearingDay(Date date);

    /**
     * 修改某一清算日的开闭市状态
     * @param tradeDay
     *
     * */
    void updateTradeStatus(TradeDay tradeDay);
}
